Jump To:
Technical Q&As
Carbon is a set of APIs that enables C and C++ developers to take advantage of Mac OS X-specific features, including an advanced user interface tool kit, an efficient event-handling mechanism, the Quartz 2D graphics library, and multiprocessing support. In addition, other industry-standard C and C++ APIs are easily available to Carbon developers, providing access to such services as the OpenGL drawing system, the Mach microkernel, and BSD operating-system services. Because Carbon is a collection of C programming interfaces, developers can use virtually any Macintosh C development environment that supports PowerPC to build Carbon applications.

Carbon Resources
A guided introduction and learning path for developers new to Carbon.   Essential information for developers using procedural C.   Descriptions of procedural C programming interface elements.
Document Descriptions
On Off
Display

Sort by
Title
Sorted by
Topic
Sort by
Date
LockPixels and DisposeGWorld with QTNewGWorldFromPtr (HTML)
QA1007: Clarifies some issues surrounding pointer ownership when creating GWorlds with QTNewGWorldFromPtr
QuickTime 2001-02-26
Movies - Saving movie playback hints (HTML)
QA1366: Explains how to save and load media play hints from Movie files.
QuickTime 2004-09-14
Sequence Grabber - Determining the capture resolution of an IIDC device (HTML)
QA1403: Discusses how to determine the resolution of a captured image from an IIDC device
QuickTime 2005-01-06
Determining user login/logout status (HTML)
QA1133: Tells how to determinine if a user is logged in, and how to get login/logout notification
Resource Management 2002-04-08
Non Mac OS X Bundled data-fork based Resources (HTML) ()
QA1098: Mac OS X Bundled data-fork based Resources
Resource Management 2003-08-20
OTScheduleDeferredTask When Task Running (HTML) ()
NW52: Describes what happens when you use OTScheduleDefferedTask to schedule a task that is running.
Resource Management 1997-10-13
Preventing sleep (HTML)
QA1160: Explains how your application can prevent the system from sleeping.
Resource Management 2004-10-22
Programmatically causing restart, shutdown and/or logout (HTML) ()
QA1134: Describes how to programmatically cause restart, shutdown, sleep or logout.
Resource Management 2003-02-10
Registering for sleep notifications (HTML)
QA1340: Explains how register for sleep notifcations on Mac OS X.
Resource Management 2004-10-25
Resource forks in Mach-O binaries (HTML) ()
QA1175: Advises against using resource forks in Mach-O binaries.
Resource Management 2002-08-07
Setting environment variables for user processes (HTML)
QA1067: Tells how to set environment variables for user processes.
Resource Management 2001-10-25
Temporary Memory (HTML) ()
ME08: Discusses the tradeoff between temporary memory and system memory for short-lived memory requirements.
Resource Management 1998-08-24
Timely Issues - 1904 (HTML) ()
OPS23: Explains why the beginning of the year 1904 was chosen for epoch of the Time global variable.
Resource Management 1999-05-17
The 'vers' Resource and Your Place in the World (HTML)
TX14: Setting the correct country code in the 'vers' resource to reflect the application's localization.
Resource Management 2000-05-01
Detecting Classic and Carbon X Environments (HTML) ()
OV03: Describes how to find out if your application is running in the Classic environment in Mac OS X.
Runtime Architecture 2000-10-16
Detecting specific ROM-in-RAM Mac (HTML) ()
Deprecated - HW49: Identifying a Mac by name ("iMac"), and better alternatives for determining specific features ("has Firewire").
Runtime Architecture 1999-10-05
Determining user login/logout status (HTML)
QA1133: Tells how to determinine if a user is logged in, and how to get login/logout notification
Runtime Architecture 2002-04-08
Environment Variables (HTML)
QA1255: Describes how a process gets its environment variables.
Runtime Architecture 2003-10-29
How do I use kMPCreateTaskSuspendedMask with MPCreateTask? (HTML)
QA1055: Describes how to start a task that has been suspended with the ability to resume it later.
Runtime Architecture 2001-07-02
How to define a plst resource in a .r file (HTML)
QA1034: Describes how to include a .plist file in a .r file.
Runtime Architecture 2001-05-09
Non Mac OS X Bundled data-fork based Resources (HTML) ()
QA1098: Mac OS X Bundled data-fork based Resources
Runtime Architecture 2003-08-20
OTScheduleDeferredTask When Task Running (HTML) ()
NW52: Describes what happens when you use OTScheduleDefferedTask to schedule a task that is running.
Runtime Architecture 1997-10-13
Resource forks in Mach-O binaries (HTML) ()
QA1175: Advises against using resource forks in Mach-O binaries.
Runtime Architecture 2002-08-07
Setting environment variables for user processes (HTML)
QA1067: Tells how to set environment variables for user processes.
Runtime Architecture 2001-10-25
Static linking of user binaries on Mac OS X (HTML) ()
QA1118: Explains why static linking of user binaries is not supported on Mac OS X, and possible workarounds.
Runtime Architecture 2002-02-07
Storing file references in CFPreferences (HTML)
QA1350: Storing file references in CFPreferences
Runtime Architecture 2004-10-01
Targeting DebuggingCarbonLib asserts (HTML)
Deprecated - QA1033: Describes how to focus DebuggingCarbonLib asserts to a single application.
Runtime Architecture 2001-05-04
Converting Simplified Chinese (HTML) ()
TX06: Describes how to convert Macintosh Simplified Chinese encoding into GB2312.
Text & Fonts 1996-02-09
Converting to Precomposed Unicode (HTML) ()
QA1235: Describes how to convert a string to precomposed Unicode.
Text & Fonts 2003-02-07
dlsDelta field in PRAM's time zone MachineLocation record (HTML) ()
OPS21: Explains how to access and preserve the Daylight Savings state when changing the GMT.
Text & Fonts 2001-03-26
Improving ATSUI Text Drawing Performance (HTML)
QA1027: Talks about one way of improving ATSUI text drawing performance.
Text & Fonts 2001-04-17
Installing input methods on Mac OS X (HTML)
QA1054: Describes how to install and use input methods on Mac OS X.
Text & Fonts 2001-09-14
IsCmdChar (HTML) ()
TX12: Describes the routine IsCmdChar, which is useful when testing for Command-period and command-AnyCharacter.
Text & Fonts 1998-07-06
Locating a Font's Home File (HTML) ()
Deprecated - TB18: Lists the steps necessary to find the home file of a given font.
Text & Fonts 1996-02-15
SetFontInfoForSelection incorrect prototype (HTML)
QA1375: Describes the incorrect prototyping of the SetFontInfoForSelection API and gives a workaround.
Text & Fonts 2004-10-04
Sorting Like the Finder (HTML)
QA1159: Shows how to sort strings like the Finder's list view.
Text & Fonts 2004-10-27
Translating Postscript font file names (HTML) ()
TX09: Describes how to translate a font name to a Postscript font file name.
Text & Fonts 1997-11-17
Core Audio & Xcode - Ensuring the latest Core Audio Headers are installed (HTML)
QA1386: Describes how to ensure you're working with the latest Core Audio Header files with Xcode.
Tools 2005-01-18
OTScheduleDeferredTask When Task Running (HTML) ()
NW52: Describes what happens when you use OTScheduleDefferedTask to schedule a task that is running.
Tools 1997-10-13
Setting environment variables for user processes (HTML)
QA1067: Tells how to set environment variables for user processes.
Tools 2001-10-25
Changing Size of sfnt Cache (HTML) ()
TX11: Describes how to change the size of the sfnt fragment cache.
Typography 1998-04-12
Creating Double-byte Bitmap Fonts (HTML) ()
TX10: Some information about converting to the 'NFNT' and 'sbit' font formats.
Typography 1998-02-10
Improving ATSUI Text Drawing Performance (HTML)
QA1027: Talks about one way of improving ATSUI text drawing performance.
Typography 2001-04-17
Clickable Static Text Item (HTML)
QA1380: Explains how to make a static text item respond to clicks
User Experience 2004-10-05
Creating Gray Scaled Images > 8 bits (HTML) ()
Deprecated - QD51: Shows how to create gray-scaled images at resolutions greater than 8 bits for display.
User Experience 1997-11-17
Ejecting the Volume on Which Your Program Resides (HTML) ()
FL09: Suggests different solutions regarding ejecting a disk on which an application resides.
User Experience 1998-07-06
Error -151 and NewGWorld (HTML)
Deprecated - QD18: Explains what the error code -151 means when in NewGWorld.
User Experience 1995-09-15
HID Manager Event Data Underruns (HTML)
QA1038: Explains how to correctly handle HID Manager event queue data underruns.
User Experience 2001-06-13
Moving the Menu Bar (HTML) ()
Deprecated - TB54: Describes how to move the menubar to another Macintosh Display and why this move is unadvisable.
User Experience 1998-12-22
My custom item dismisses my Navigation Services dialog (HTML)
QA1381: Gives a workaround for dismissive clicks on items in the custom area of Navigation Services dialogs.
User Experience 2004-11-22
Problem with PaintRgn on 256-color Screens (HTML)
Deprecated - QD23: PaintRgn with RGBForeColor and transfer mode addOver doesn't return color to original on 256-color-screens.
User Experience 1995-09-15
Securely Erasing, Accessing and Dismounting a Macintosh Partition (HTML) ()
FL11: Set up a disk for secure erasures. Resources with information on magnetic disks, information recovery.
User Experience 1999-01-11
SetFontInfoForSelection incorrect prototype (HTML)
QA1375: Describes the incorrect prototyping of the SetFontInfoForSelection API and gives a workaround.
User Experience 2004-10-04
Suppressing the "unexpectedly quit" alert (HTML)
QA1288: Describes how to suppress the "unexpectedly quit" alert.
User Experience 2003-10-10
Using qd and QDGlobals (HTML) ()
Deprecated - QD40: Why a sample program compiled with SC may give the link error: undefined entry qd. Provides a solution.
User Experience 1996-02-09
Using Temporary Memory with OpenPicture (HTML)
Deprecated - QD20: Provides several techniques of causing OpenPicture to allocate temporary memory for a picture handle.
User Experience 1996-02-01
Why isn't my edit text box in my Navigation dialog's custom area working on 10.3? (HTML)
QA1315: Explains a bug in the Mac OS X 10.3 Navigation Services Custom Area involving the EditText and its work around.
User Experience 2003-10-28
Window Manager and EraseRect (HTML)
Deprecated - QD26: Why WindowManager causes a flicker using EraseRect and provides a solution for this problem.
User Experience 1995-09-15